HDMI连接状态监测 您所在的位置:网站首页 intent 安卓 HDMI连接状态监测

HDMI连接状态监测

2024-06-16 13:20| 来源: 网络整理| 查看: 265

需求:通过安卓系统获取HDMI连接状态。 安卓获取HDMI连接状态有两种方法,一种是通过系统广播监听;另一种是读取系统文件,从而判断HDMI的连接状态。

2.1 HDMI到底是啥?

HDMI(High Definition MultimediaInterface )中文名叫高清晰度多媒体接口,是一种数字化视频/音频接口技术,是适合影像传输的专用型数字化接口,其可同时传送音频和影像信号,最高数据传输速度为18Gbps(2.0版)。

2.2 HDMI传输原理

看了网上的资料后,个人对HDMI的传输原理理解为:HDMI接口中一共有19个引脚,其中每个引脚有自己的作用,中间有那么几个引脚传输信号,第18引脚是供电的,最后一个引脚(第19个引脚)是用来提供支持HDMI热拔插的(热拔插:简而言之就是在不关闭设备的情况可以对HDMI线进行拔插并且不影响设备的运行),实现热拔插的过程是电压从18引脚进,19引脚出,获取18、19两个引脚见的电压如果低于0.5V就判定为此时HDMI已断开。

2.3 安卓监测原理

网上介绍了两种监测方法,一种是通过广播来监听,另一种是通过读取系统文件来判断。监测的手段就是通过安卓底层驱动对19引脚就行监听,HDMI线的插拔会触发广播事件。通过读取文件来判断就是,底层驱动会根据HDMI的通断状态创建一个文件,文件中存放设备的信息,包括连接状态,读取文件时把这个文件中标志设备状态的状态拿出来,以此判断HDMI的连接状态。

2.3.1 通过广播监听代码实例:

private static BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent receivedIt) { String action = receivedIt.getAction(); if (action.equals("android.intent.action.HDMI_PLUGGED")) {//HDMI插拔的广播事件 boolean state = receivedIt.getBooleanExtra("state", false);//事件返回一个Boolean类型的state值,根据state值可以判断其状态,true表已连接,false表断开。 if (state) { isHdmiConnect = true; } else { isHdmiConnect = false; } } } };

2.3.2 通过读取系统文件判断HDMI连接状态代码实例:

/** * 广播只能监听HDMI的插拔 第一次进入程序时不知道HDMI的连接状态 * 此时需要去读系统文件去判断HDMI的连接状态 * * @return true 连接 false 未连接 */ public static boolean isHdmiSwitchSet() { // The file '/sys/devices/virtual/switch/hdmi/state' holds an int -- if it's 1 then an HDMI device is connected. // An alternative file to check is '/sys/class/switch/hdmi/state' which exists instead on certain devices. File switchFile =new File("/sys/devices/virtual/switch/hdmi/state"); if (!switchFile.exists()) { switchFile =new File("/sys/class/switch/hdmi/state"); } try { Scanner switchFileScanner =new Scanner(switchFile); int switchValue = switchFileScanner.nextInt(); switchFileScanner.close(); return switchValue >0; }catch (Exception e) { return false; } } 总结:两种方法都能实现对HDMI连接状态的监听。通过广播监听时在初次进入时是监听不到的,所以在初次进入可通过第二种方法判断HDMI的连接状态;不建议直接使用第二种方法,循环定时读取系统文件来达到监听的效果,频繁的读取系统文件影响性能。以上就是本人对HDMI的一个初步认识和了解,在此记录一下。

转载自:https://www.jianshu.com/p/94095c907c6a



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有